package com.dj.mingkong.admin.biz.service.system;



import com.dj.mingkong.admin.biz.controller.system.vo.request.DictionaryAddVo;
import com.dj.mingkong.admin.biz.controller.system.vo.request.DictionaryQueryVo;
import com.dj.mingkong.admin.biz.controller.system.vo.request.DictionaryUpdateVo;
import com.dj.mingkong.admin.biz.controller.system.vo.response.DictionaryVo;
import com.dj.mingkong.common.infrastructure.base.dto.delete.DeleteVo;
import com.dj.mingkong.common.infrastructure.base.dto.page.PageVo;

import java.util.List;

/**
 * 数据字典服务接口
 *
 * @author zenglonghui
 * @date: 2022/7/12 17:45
 */
public interface DictionaryService {
    /**
     * 新增
     *
     * @param addVo {}
     */
    void insert(DictionaryAddVo addVo);

    /**
     * 修改
     *
     * @param updateVo {}
     */
    void updateById(DictionaryUpdateVo updateVo);

    /**
     * 删除
     *
     * @param deleteVo {}
     */
    void deleteById(DeleteVo deleteVo);

    /**
     * 分页获取列表
     *
     * @param queryVo {}
     * @return PageVo<DictionaryVo>
     */
    PageVo<DictionaryVo> pageByVo(DictionaryQueryVo queryVo);

    /**
     * 根据父KEY获取子列表
     *
     * @param key 参数
     * @return List<DictionaryVo>
     */
    List<DictionaryVo> getByParentKey(String key);

    /**
     * 获取树形结构列表
     *
     * @return List<DictionaryVo>
     */
    List<DictionaryVo> listTree();
}
